The present invention relates to navigating using a global positioning system (GPS), and in particular to systems for providing assisted-GPS and for providing GPS time recovery, especially in weak signal conditions.
The operation of a global positioning system (GPS) receiver is predicated on the receiver having a precise value for GPS time; without such a precise value, the ranges (from the receiver to one or more of the GPS satellites) computed by the receiver are inaccurate, since they are determined simply as the difference between the time of transmission and time of receipt multiplied by the speed of light. GPS navigation therefore relies on all elements of GPS (including both satellites and GPS earthbound receivers) having a clock synchronized to GPS system time, which is an approximate version of so-called coordinated universal time (UTC). GPS (more specifically, the GPS ground monitoring network) disseminates corrections to each satellite (which uses a high accuracy local clock) to account for the bias and offset of the satellite clock compared to GPS system time, and the satellites provide these corrections in the navigation message they each broadcast; therefore all satellites are synchronized. A GPS receiver, on the other hand, determines the offset of its local clock as part of the solution of the GPS receiver position. In doing so, however, to the extent that the GPS local clock is significantly out of synchronization, the calculation of the GPS receiver position is prolonged. Therefore, it is advantageous, in general, to provide a means of synchronizing a GPS receiver clock to GPS system time.
In sufficiently weak GPS signal conditions, a GPS receiver cannot determine GPS time unassisted. In such conditions, either the exact GPS time has to be recovered to carry out positioning, or positioning must stop. To avoid having to halt positioning, time recovery must be assisted, and there are many ways to assist a GPS receiver in carrying out time recovery, one being to deliver the exact GPS time from a cellular network, such as a GSM network.
Unfortunately, a standard GSM network is not synchronized to any universal time reference, since cellular communication is not per se a navigation tool and therefore there is no need for a universal synchronized time in providing cellular communications. The only time synchronization that is needed is time slot synchronization, where a mobile station synchronizes itself to a base station schedule in order to keep its own transmission in its assigned time slot and to pick up the messages from the base station intended for the mobile station. Such synchronization is therefore (and need only be) relative (between a mobile station and a base station) as opposed to universal. To enable deriving a universal time from such a cellular network, new equipment and new messages are needed.
There is a device that provides a GPS/GSM timing relationship (mapping); it is called a Location Measurement Unit (LMU); an LMU can be thought of as a specialized GPS receiver located at a cellular base station, a GPS receiver adapted to time-stamp with GPS system time communication signal bursts to mobile stations. An LMU time-stamps with GPS time the communication signal bursts from base stations. An LMU provides to a GPS receiver (a GPS receiver configured to make use of the LMU provided information) the help needed in weak signal conditions in constructing GPS time (i.e. in synchronizing with GPS system time). The LMU provides a so-called reference time information element, in which it indicates which GSM signal frame, time slot and bit are to be used as a time reference point, according to which for example a mobile station can remove the GSM system delay, and so recover exact GPS time.
For typical GPS receiver positioning accuracy, GPS time must be known to within xcx9c10 xcexcs in the receiver. Such accuracy is difficult to achieve using an LMU-based system for time synchronization according to the prior art. According to the prior art, a GPS receiver is adapted to make use of the LMU assistance by including a cellular component that responds to the LMU message (including picking up the actual trigger in the indicated signal frame, time slot, and bit) and a GPS component that needs the time synchronization information (see FIG. 1). The two components communicate via a software connectivity channel. There are, however, significant random delays in communicating messages over a software connectivity channel, i.e. internal delays arising because of use of the software connectivity channel for various other tasks besides only providing LMU time synchronization information. (Random delays occur inside buses used by a GPS receiver, buses where messages are transmitted from one software server to another using a dedicated software messaging architecture. Such delays can be tens of milliseconds in duration.)
What is needed is a way of providing LMU time synchronization information (or time synchronization information derived from any other aspect of a cellular communication signal) to the component of a GPS receiver that needs the time synchronization information in a way that avoids any significant variable internal delays.
Accordingly, the present invention provides a system, apparatus and corresponding method for time synchronization, using cellular signal bursts, of for example a global positioning system (GPS) receiver, the method including the steps of: a) having a cellular module respond to a cellular communication signal indicating a time-stamp, by providing a trigger pulse derived from the data component of the cellular communication signal, and also by providing information indicating a time-mark relating the trigger pulse to a universal time; b) having a main module, with access to a clock that provides a signal indicating local time, respond to the information indicating the time-mark; c) communicating the trigger pulse to a timing register coupled to the main module, the communicating being performed via a special hardware path that provides the trigger pulse without substantial random delay; d) having the timing register respond to the signal indicating local time, and also respond to the trigger pulse, by holding information indicating, in local time, when the trigger pulse is received by the timing register; and e) having the main module access the timing register and so obtain the time when the trigger arrives, and further having the main module determine the difference between when the information indicating the time-mark arrives and when the trigger arrives.
In a further aspect of the invention, the method also includes the step of having a frame counter generate the trigger pulse when the frame counter identifies a new frame in the cellular communication signal.
In another further aspect of the invention, the method also includes the step of having a time slot counter generate the trigger pulse when the time slot counter identifies a new time slot in the cellular communication signal.
In yet another further aspect of the invention, the method also includes the step of having a data bit counter generate the trigger pulse when the data bit counter identifies a new data bit in the cellular communication signal.
In yet even another further aspect of the invention, the main module is a global positioning system (GPS) module responsive to a GPS satellite navigation signal.
Thus, the present invention provides a hardware trigger pulse for synchronizing, based on a cellular communication signal, devices to a universal time reference. For example, the present invention can be used to synchronize a GPS receiver clock to GPS system time. In such an application, the invention avoids almost all internal delays in providing a GPS receiver clock component with time synchronization information, enabling better than xcx9c10 xcexcs accuracy in GPS time recovery even in weak GPS signal conditions.